#!/bin/bash
#SyncTime - sincroniza horário na rede interna
#autor: Ricardo Brito do Nascimento
#email: ricardo[at]rbncurriculo.cjb.net
#Data: 30/10/2007
#
#Descrição:
# Este script atualiza a hora de máquinas linux atraves de um
# servidor ntp disponível


SINCSERVER=10.1.0.1
ZICFILE=Sao_Paulo.zic
TIMEFILE=/usr/share/zoneinfo/America/Sao_Paulo
TIMEFILECONF=/etc/localtime
EXTOLDTIMEFILECONF='default'

# Aborta instação sem which
if [ ! -e /usr/bin/which ]; then
        echo "Nota: which é requerido para este script! finalizando Agora."
        exit 1
fi

# Aborta instação sem mv
if [ -z `which mv 2> /dev/null` ]; then
        echo "Nota: mv é requerido para $0! finalizando Agora."
        exit 1
fi

# Aborta instação sem ls
if [ -z `which ls 2> /dev/null` ]; then
        echo "Nota: ls é requerido para $0! finalizando Agora."
        exit 1
fi

# Aborta instação sem zic
if [ -z `which zic 2> /dev/null` ]; then
        echo "Nota: zic é requerido para $0! finalizando Agora."
        exit 1
fi

# Aborta instação sem ntpdate
if [ -z `which ntpdate 2> /dev/null` ]; then
        echo "Nota: ntpdate é requerido para $0! finalizando Agora."
        exit 1
fi

# Aborta instação sem mv
if [ ! -e $ZICFILE ]; then
        echo "Nota: o arquivo $ZICFILE é requerido para este script! finalizando Agora."
        exit 1
fi

mv $TIMEFILECONF $TIMEFILECONF.$EXTOLDTIMEFILECONF
ln -s $TIMEFILE $TIMEFILECONF
zic $ZICFILE
ntpdate $SINCSERVER
